The proliferation of computer networks, where several data processing systems are linked via data communication systems, has led to the decentralization of data entry and access. Many users often have access to common databases, which facilitates data entry by providing a parallel processing effect as each user on each data processing system adds a record simultaneously. Similarly, access to the database can be had by each user accessing the database simultaneously to query, print reports, and perform other read functions on the database.
Perhaps one of the largest examples of common database sharing exists in the context of (currently) the largest network: the Internet. The Internet is a global set of interconnected networks that operate based upon the packet-based Transmission Control Protocol/Internet Protocol (“TCP/IP”). Each data processing system, server or node, on the network has associated with it an address by which it can be accessed from another data processing system on the network. Under the IP addressing system, used by the Internet, addresses are comprised of four numbers between the values of zero and 255, each separated by a period, or “dot.” For example, 169.255.255.0 is a valid TCP/IP address.
Since most users would be hard pressed to remember the IP addresses of all of the servers they wish to access, domain names were created to assist user-friendliness. A domain name is an alphanumeric designation which can be translated by a domain name server (“DNS”) into an IP address. Domain names most frequently comprise two parts: a top level domain plus a second level domain name. The second level domain appears first and typically is some word or set of words that suggests to the user the data available at the address. The top level domain name is one of a set of defined designations which indicates what type of organization is sponsoring the data. For example, intuit.com is a domain name that suggests to the user that information regarding Intuit™'s products and services can be found, and that Intuit™ is likely a commercial venture. Likewise palm.net suggests that the Palm™ network can be accessed with that address.
Similarly, the provision of data processing system access on the Internet would leave most of the general public without access de facto because such data processing systems typically require the mastery of a set of commands which are far above the skill of most users. Accordingly, service facilities were developed so that high-level coding languages could be used to communicate with common users through a “browsing” interface.
The most popular of these service facilities is a collection of data files accessible by a browsing program and written in high-level languages such as the HyperText Markup Language (“HTML”). This service is commonly referred to in the art as the World Wide Web. HTML is a series of commands that are sent from a server data processing machine to a user's data processing machine. The user's data processing machine uses a software program called a “browser” to interpret the code to offer information to the user on the screen in a user-friendly format. The format includes areas of the screen which can be “clicked” with a pointing device, such as a mouse, to take the user to the next screen of information.
The use of browsing technology has become very sophisticated, to the point that users may now enter information, receive customized responses, perform complex searches, and fully access databases over the Internet. Other, more powerful languages have been introduced, such as JavaScript, JScript, Active Server Page (“ASP”) which may act in conjunction with HTML to provide tremendous flexibility. As a result of these improvements, it is not uncommon for the general public to access and use common databases directly over the Internet. In fact, the Internet has become a common forum not only for the display of public information (as evidenced at http://www.uspto.gov), but also a forum through which to transact in goods and services.
Users, however, generally come from different backgrounds, cultures, and life experiences. Users are not trained on any common “preferred” methods of data entry; in fact such training on a global scale would be impossible. As a result, databases left to the public's entries often become very diverse and difficult to access. For example, when asked to input a user name, one person may enter “Joe Smith”, another may enter “JOE SMITH”. Yet another may enter “smith, joe”, and so on. As a result, when one wishes to access the database to search for a user name, one cannot determine whether to look for data beginning with “smith” or “Joe” or “JOE” (or, indeed, “joe”, or “jsmith”, etc.).
In the context of user names, these issues are often solved by placing restrictions on users and dividing the data entry into various fields. However, there are a great number of applications where this approach is not used. One such application is the data entry of general goods descriptions or specifications, such as those on Internet auction and retail sites. Another such application relates to the specification of services offered on the Internet. Those services may be services rendered on-line (such as general services, payment services, etc.) or services rendered off-line (garage repair, local telephone service, long distance telephone service, etc.). A quick survey of Internet auction sites will reveal a myriad of ways to describe a single product or service. A wide variety of categorization schemes and classification systems are employed, frequently permitting a user to validly put a single good or service into multiple categories.
The differences in data entry are not limited to the ordering and capitalization of product names nor the mere selection of a particular category. What may be known to (and listed by) one person as “pants” may be listed by another as “slacks” or “trousers”. To add confusion, a third person may list the same item as “pantalon” or “calças”. More to the point: each entry may be completely correct.
As a direct result of the various modes of entering specifications of goods and services into the various databases used by various applications, those goods and services can be very difficult to locate. Someone entering a search specification looking for “pants,” or even just anything beginning with “pant,” will not receive results that include “slacks.” Worse yet, such search results will be riddled with irrelevant results such as references to “pantry”, “panther” and “pantomime”. Accordingly, searching for goods and services on the Internet is presently very inefficient and can be very unproductive.
Technology providers of the day address the foregoing in one of two primary ways: Search engine improvements and categorization developments. The development of new search engines and improvements to them focuses on the way that things are organized and indexed, as well as what portions of the data are ultimately searched and how they are searched in order to achieve optimal results. Many of these improvements look towards providing the user faster results rather than providing the user the best results. Those few improvements that do focus on the best results generally do so by expanding the scope of their inquiry (providing thesaurus support, extra language support, etc.) or by obtaining additional information from the user (such as options to obtain additional results “like” a certain result).
Categorization attempts, even when they are mutually exclusive categories, often fail for incompleteness. Moreover, while categorization is moderately well adapted to finding an item within the database (providing one is familiar with the categorization scheme), placing that item in a database, it is not very well adapted. In other words, categorization functions much better when all of the qualities of the item are defined than when some of the qualities of the item are undefined. Even when a complete categorization is achieved, that categorization is best put to use by the user learning the categorization. Accordingly, there is a certain degree of training required for the user to acclimate to the system and become accustomed to the language used by the system. Such systems do not provide the user-friendly interface required for the general Internet.
As a result, both the search engine improvements and the categorization methods have failed to remedy the instant problems. In part, the failure of each technique is due to the fact that data entry is, by and large, uncontrolled. The ability to pull specific data from a database which is, by its nature, lacking in specificity, is a venture which is doomed to failure.
Accordingly, what is needed is a system and method for the systematic entry of specifications for goods and services. Such a system must be sufficiently flexible to permit the entry of the range of goods and services available in the world, be capable of adaptation to languages and cultural differences, and be simple enough for users to navigate. Such a system must not require training or memorization of a categorization, however it would be a benefit if such a system could be adapted to be compatible with existing categorization schemes. The system and method must yield consistent results. Such system and method must be operable to permit a user to efficiently define goods and services entered into a system and also be operable to permit a second user to locate those goods or services through a search criteria. It would further be advantageous for users to need only to become familiar with a single system for both submission and search.